package chai.ning.recursion;

import java.io.File;

public class Horse {
	
	public void list( String path ){
		// 根据指定的路径创建一个File类型的实例 (该实例表示与路径对应的文件或目录)
		File fod = new File( path );
		// 如果 fod 所表示的 文件 或 目录 在 磁盘上是确切存在的
		if( fod.exists() ) {
			String name = fod.getName() ; // 获取 文件 或 目录 的名称
			// 如果 fod 所表示的是个文件
			if( fod.isFile() ) {
				System.out.println( "文件: " + name );
			}
			// 如果 fod 所表示的是个目录 (即文件夹)
			if( fod.isDirectory() ) {
				System.out.println( "目录: " + name );
				// 获取 fod 所表示的目录中的 所有 项目 ( 注意，这里的项目可能是 文件 或 目录 )
				File[] fods = fod.listFiles(); // fods : filesOrDirectorys
				for( int i = 0 ; i < fods.length ; i++ ) {
					File fd = fods[ i ] ;
					String p = fd.getAbsolutePath() ; // 获取 fd 所表示的 文件 或 目录的 绝对路径
					list( p ); // 递归
				}
			}
		}
	}
	
	public static void main(String[] args) {
		
		Horse h = new Horse();
		
		h.list( "D:/workspaces/java-beginner/methods/src" );
		
	}

}
